﻿Mono = BaseClass()

Mono.gameObject = nil -- GameObject
--Get Unity Object, comp_class default is nil
function Mono:GetUObj(name, comp_class)
    error("U have not implement method：GetUObj")
end

function Mono:Awake()

end

function Mono:Start()

end

function Mono:_OnEnable()
    self:OnEnable()
    if self:OnIsUpdate() then
        self.update_handle = UpdateBeat:Add(self.Update, self)
    end
    if self:OnIsFixedUpdate() then
        self.fixedupdate_handle = FixedUpdateBeat:Add(self.FixedUpdate, self)
    end
end

function Mono:_OnDisable()
    self:OnDisable()
    if self:OnIsUpdate() then
        UpdateBeat:Remove(self.update_handle)
    end
    if self:OnIsFixedUpdate() then
        FixedUpdateBeat:Remove(self.fixedupdate_handle)
    end
end

function Mono:OnEnable()

end

function Mono:OnDisable()

end

function Mono:OnDestroy()

end

function Mono:OnIsUpdate()

end

function Mono:Update()

end

function Mono:OnIsFixedUpdate()

end

function Mono:FixedUpdate()

end